package com.xyy.saas.payment.cores.vo.jd;

import lombok.*;

import java.io.Serializable;
import java.util.Map;

/**
 * 京东一键签约 - 一键签约申请
 */
@Builder
@Setter
@Getter
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class JDOneKeySignApplyVo implements Serializable {

    /**
     * 扩展字段
     */
    private Map<String, String> extent;
    /**
     * 业务侧请求流水号：必填
     * 用于日志查询，不做业务字段处理，可重复、尽量唯一
     */
    private String businessReqNo;
    /**
     * 绑卡归属账号(此银行卡归属账号)：必填
     */
    private String bindAccount;
    /**
     * 绑卡操作用户(绑卡操作人)：必填
     */
    private String bindUser;
    /**
     * 签约终端类型：必填
     * 枚举值：ios、android、PC
     */
    private String terminalType;
    /**
     * 绑卡方式：必填
     * 枚举值：我的银行卡、收银台
     */
    private String contractStyle;
    /**
     * 业务线名称(区分业务)：必填
     */
    private String businessType;

    /**
     * 二级商户号：必填
     * 商户号（12位数字，由京东侧分配）
     */
    private String merchantNo;
    /**
     * 银行编码：必填
     */
    private String bankCode;
    /**
     * 银行名称：必填
     */
    private String bankName;
    /**
     * 卡类型：必填
     * DE (借记卡)
     * CR (贷记卡)
     */
    private String cardType;
    /**
     * 持卡人姓名：必填
     */
    private String idName;
    /**
     * 持卡人证件类型：目前仅支持ID，可为空
     */
    private String idType;
    /**
     * 持卡人证件号：必填
     */
    private String idNo;
    /**
     * 持卡人预留手机号：可为空
     */
    private String phone;
    /**
     * 签约完成后，页面从银行调回商户页面：必填
     * 签约完成后页面从银行跳转回商户页面地址，商户需要将签约请求号封装到此地址，以便回调后查询签约结果
     */
    private String signPageCallBackUrl;
    /**
     * 客户端IP：可为空
     */
    private String userIp;

}
